package main

import (
	"fmt"
	"math/rand"
	"sort"
	"time"
)

func main() {
	// 按照指定顺序遍历map步骤
	rand.Seed(time.Now().UnixNano()) // 初始化随机数，纳秒级别生成随机数
	stumap := make(map[string]int, 50)
	// 使用循环生成随机整数
	for i := 0; i < 50; i++ {
		key := fmt.Sprintf("stu%02d", i) // 循环生成stu开头的字符串做key
		value := rand.Intn(100)          // 随机生成0~99的随机整数做value
		stumap[key] = value
	}
	// 将key添加到切片里，进行排序
	slice := make([]string, 50)
	for k := range stumap {
		slice = append(slice, k)
	}
	sort.Strings(slice) // 对切片进行排序
	// 将排序后的key按序获取value值进行打印
	for _, key := range slice {
		fmt.Printf("%v %v\n", key, stumap[key])
	}
}
